//package com.shwread.android.qysw.activity;
//
//import java.io.Serializable;
//import java.lang.reflect.Type;
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.Comparator;
//import java.util.List;
//
//import org.apache.http.Header;
//import org.geometerplus.zlibrary.core.application.SysApplication;
//import logic.bean.ActivityDetailInfo;
//import logic.bean.ActivityInfo;
//import logic.bean.CouponInfo;
//import logic.bean.OrderFoodListBean;
//import logic.bean.OrderTakeoutComfirmBean;
//import logic.bean.OrderTakeoutPayBean;
//import logic.bean.StoreInfo;
//import logic.bean.UserAddressInfo;
//import logic.constants.Const;
//import logic.constants.DefaultConsts;
//import logic.dao.OrderTakeoutDao;
//import logic.util.MoneyUtil;
//import logic.util.Util;
//import logic.util.Utils;
//import android.content.Context;
//import android.content.Intent;
//import android.os.Bundle;
//import android.os.CountDownTimer;
//import android.os.Handler;
//import android.os.Message;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.ViewGroup;
//import android.widget.BaseAdapter;
//import android.widget.Button;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.TextView;
//
//import com.google.gson.reflect.TypeToken;
//import com.shwread.android.qysw10000133.R;
//import com.shwread.android.ui.dialog.CommonLoadingDialog;
//import com.shwread.android.ui.page.NewOrderIndexPage;
//import com.shwread.http.ActionHelp;
//import com.shwread.http.base.Log;
//import com.shwread.http.base.ObjectHttpResponseHandler;
//
//
///**
// * OrderMenuConfirmActivity
// *
// * @Description：确认订单界面
// * @Author：zhangdong
// * @Date：2015年6月16日上午8:49:18
// */
//public class OrderMenuConfirmActivity
//        extends
//        BaseBusinessActivity
//        implements
//        OnClickListener
//{
//	private Context                 context;
//	private LinearLayout            llTip, llCoupon, llDiscount, llMinus, llTotalMinus;
//	private View                    minusDivider;
//	private TextView                tvTitle, tvName, tvPhoneNum, tvAddress, tvDistributionMoney, tvTotalMoney, tvTips, tvCoupon, tvDiscount;
//	private TextView                tvPayOnline, tvFoodsTotal, tvMinus, tvTotalMinus;
//	private Button                  btnBack, btnPayOnLine, btnPayAfterGet, btnSure;
//	private ListView                listView;
//
//	private MyAdapter               mAdapter     = new MyAdapter();
//	private String                  tips         = "";
//	public List<OrderFoodListBean>  foodList     = new ArrayList<OrderFoodListBean>();
//	private List<OrderFoodListBean> beans;
//	private double                  totalMoney   = 0;
//	private UserAddressInfo         addressInfo;
//	private StoreInfo               store;
//	private CommonLoadingDialog     addressLoadingDialog;
//	private int                     fee          = 0;                                                                                       //快递费
//	private int                     payType      = 1;
//	private long                    discount     = 0;                                                                                       //代金券抵扣
//	private long                    minus        = 0;                                                                                       //满减活动减免
//	private int                     posi         = 10000;
//	private ArrayList<String>       listSelected = new ArrayList<String>();
//	private List<CouponInfo>        selectedCoupons;
//	private ActivityInfo            enoughMinus;                                                                                            //满减活动
//
//	@SuppressWarnings ("unchecked")
//	@Override
//	protected void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//
//		setContentView(R.layout.om_confirm_order);
//		SysApplication.getInstance().addActivity(this);
//		this.context = this;
//		beans = (List<OrderFoodListBean>) getIntent().getSerializableExtra("foodList");
//		addressInfo = NewOrderIndexPage.addressInfo;
//		store = NewOrderIndexPage.info;
//		sortList();
//		addressLoadingDialog = new CommonLoadingDialog(context);
//		initView();
//		initData();
//		setListener();
//	}
//
//	/***
//	 * 不用的分类，相同的菜品id合并菜品信息
//	 */
//	private void sortList() {
//		for (int i = 0; i < beans.size(); i++)
//		{
//			OrderFoodListBean foodBean = beans.get(i);
//			for (int j = i + 1; j < beans.size(); j++)
//			{
//				OrderFoodListBean bean = beans.get(j);
//				if (foodBean.getFoodId() == bean.getFoodId())
//				{
//					foodBean.setBuyNum(foodBean.getBuyNum() + bean.getBuyNum());
//					bean.setBuyNum(0);
//				}
//			}
//		}
//		for (int i = 0; i < beans.size(); i++)
//		{
//			OrderFoodListBean foodBean = beans.get(i);
//			if (foodBean.getBuyNum() > 0) foodList.add(foodBean);
//		}
//	}
//
//	private Handler handler = new Handler()
//	                        {
//		                        @Override
//		                        public void handleMessage(Message msg) {
//			                        switch (msg.what) {
//
//										default:
//											break;
//									}
//								}
//	                        };
//
//	private void setListener() {
//		btnBack.setOnClickListener(this);
//		btnPayOnLine.setOnClickListener(this);
//		btnPayAfterGet.setOnClickListener(this);
//		llTip.setOnClickListener(this);
//		llCoupon.setOnClickListener(this);
//		btnSure.setOnClickListener(this);
//	}
//
//	@Override
//	protected void onResume() {
//		super.onResume();
//	}
//
//	private void initView() {
//		tvTitle = (TextView) findViewById(R.id.common_header_name);
//		tvTitle.setText("确认订单");
//		btnBack = (Button) findViewById(R.id.common_header_back);
//		btnBack.setVisibility(View.VISIBLE);
//
//		tvName = (TextView) findViewById(R.id.tv_om_confirm_order_userInfo_name);
//		tvPhoneNum = (TextView) findViewById(R.id.tv_om_confirm_order_userInfo_phone_number);
//		tvAddress = (TextView) findViewById(R.id.tv_om_confirm_order_userInfo_address);
//
//		listView = (ListView) findViewById(R.id.lv_om_confirm_order);
//
//		btnPayOnLine = (Button) findViewById(R.id.btn_om_confirm_order_pay_method_left);
//		btnPayAfterGet = (Button) findViewById(R.id.btn_om_confirm_order_pay_method_right);
//		tvPayOnline = (TextView) findViewById(R.id.tv_om_confirm_order_pay_method);
//		payType = 1;
//		btnPayOnLine.setSelected(true);
//		btnPayOnLine.setVisibility(View.GONE);
//		btnPayAfterGet.setVisibility(View.GONE);
//		tvPayOnline.setVisibility(View.VISIBLE);
//
//		llTip = (LinearLayout) findViewById(R.id.ll_om_confirm_order_more_tip);
//		tvTips = (TextView) findViewById(R.id.txt_om_confirm_order_more_tip);
//		tvDistributionMoney = (TextView) findViewById(R.id.tv_om_confirm_order_distribution_money);
//		tvDistributionMoney.setVisibility(View.GONE);
//
//		tvFoodsTotal = (TextView) findViewById(R.id.tv_om_confirm_order_foods_total_money);
//		llCoupon = (LinearLayout) findViewById(R.id.ll_om_confirm_order_use_coupon);
//		tvCoupon = (TextView) findViewById(R.id.tv_om_confirm_order_use_coupon);
//		llDiscount = (LinearLayout) findViewById(R.id.ll_om_confirm_order_discount);
//		tvDiscount = (TextView) findViewById(R.id.tv_om_confirm_order_discount);
//		tvCoupon.setVisibility(View.VISIBLE);
//		llDiscount.setVisibility(View.GONE);
//		//		llCoupon.setVisibility(View.GONE);
//		minusDivider = findViewById(R.id.om_confirm_order_minus_money_divider);
//		llMinus = (LinearLayout) findViewById(R.id.ll_om_confirm_order_minus_money);
//		tvMinus = (TextView) findViewById(R.id.tv_om_confirm_order_minus_money);
//		minusDivider.setVisibility(View.GONE);
//		llMinus.setVisibility(View.GONE);
//
//		llTotalMinus = (LinearLayout) findViewById(R.id.ll_om_confirm_order_total_minus);
//		tvTotalMoney = (TextView) findViewById(R.id.tv_om_confirm_order_total_money);
//		tvTotalMinus = (TextView) findViewById(R.id.tv_om_confirm_order_total_minus);
//		llTotalMinus.setVisibility(View.INVISIBLE);
//		btnSure = (Button) findViewById(R.id.btn_om_confirm_order_sure);
//	}
//
//	private void initData() {
//		for (OrderFoodListBean bean : foodList)
//		{
//			if (bean.getHasActivity().equals("y"))
//			{
//				totalMoney += bean.getActivityPrice() * bean.getBuyNum();
//			}
//			else
//			{
//				totalMoney += bean.getPrice() * bean.getBuyNum();
//			}
//		}
//		tvName.setText(addressInfo.getName());
//		tvPhoneNum.setText(addressInfo.getPhone());
//		tvAddress.setText(addressInfo.getProvinceName() + addressInfo.getCityName() + addressInfo.getAreaName() + addressInfo.getDetailAddress());
//		tvFoodsTotal.setText("¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(totalMoney, 100)));
//		fee = store.getDeliveryFee();
//		setBtn();
//		listView.setAdapter(mAdapter);
//		Utils.setListViewHeightBasedOnChildren(listView, mAdapter);
//		ActionHelp.qryShopActivityList(context, store.getStoreId(), new QryActivityHandler());
//	}
//
//	@Override
//	public void onClick(View v) {
//		switch (v.getId()) {
//			case R.id.common_header_back:
//				this.finish();
//				break;
//			case R.id.btn_om_confirm_order_pay_method_left:
//				payType = 1;
//				btnPayOnLine.setSelected(true);
//				btnPayAfterGet.setSelected(false);
//				break;
//			case R.id.btn_om_confirm_order_pay_method_right:
//				payType = 2;
//				btnPayOnLine.setSelected(false);
//				btnPayAfterGet.setSelected(true);
//				break;
//			case R.id.ll_om_confirm_order_more_tip:
//				Intent intent = new Intent(context, OrderMenuConfirmTipActivity.class);
//				intent.putExtra("tips", tips);
//				startActivityForResult(intent, 1000);
//				break;
//			case R.id.ll_om_confirm_order_use_coupon:
//				Intent couponIntent = new Intent(this, OrderMenuUseCouponActivity.class);
//				couponIntent.putExtra("money", totalMoney + fee);
//				couponIntent.putExtra("position", posi);
//				couponIntent.putExtra("discount", discount);
//				couponIntent.putStringArrayListExtra("selected", listSelected);
//				startActivityForResult(couponIntent, 1001);
//				break;
//			case R.id.btn_om_confirm_order_sure:
//				OrderTakeoutComfirmBean bean = new OrderTakeoutComfirmBean();
//				bean.setStoreId(store.getStoreId());
//				bean.setFoodsList(foodList);
//				bean.setDeliveryAddress(addressInfo);
//				bean.setExpressMoney(fee);
//				bean.setPayType(payType);
//				bean.setRemark(tips);
//				bean.setVoucherList(selectedCoupons);
//				List<ActivityInfo> activityList = new ArrayList<ActivityInfo>();
//				if (minus != 0) activityList.add(enoughMinus);
//				bean.setActivityList(activityList);
//				ActionHelp.confirmOrderWithTakeAway(context, Util.getJsonStringByEntity(bean), new ComfirmHandler());
//				break;
//			default:
//				break;
//		}
//	}
//
//	private class QryActivityHandler
//	        extends
//	        ObjectHttpResponseHandler<List<ActivityInfo>>
//	{
//		@Override
//		public Type getType() {
//			return new TypeToken<List<ActivityInfo>>()
//			{
//			}.getType();
//		}
//
//		@Override
//		public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {
//		}
//
//		@Override
//		public void onSuccess(int arg0, Header[] arg1, List<ActivityInfo> arg2, String arg3) {
//			Log.i(arg3);
//			enoughMinus = null;
//			tvDistributionMoney.setVisibility(View.VISIBLE);
//			if (arg2 != null && arg2.size() > 0)
//			{
//				for (int i = 0; i < arg2.size(); i++)
//				{
//					if (arg2.get(i).getType() == 1)
//					{
//						enoughMinus = arg2.get(i);
//						break;
//					}
//				}
//				if (enoughMinus != null)
//				{
//					long currentTime = System.currentTimeMillis();
//					if (currentTime > enoughMinus.getStartTime() && currentTime < enoughMinus.getEndTime())
//					{
//						new CountDownTimer(enoughMinus.getEndTime() - currentTime, 1000)
//						{
//
//							@Override
//							public void onTick(long millisUntilFinished) {
//
//							}
//
//							@Override
//							public void onFinish() {
//								ActionHelp.qryShopActivityList(context, store.getStoreId(), new QryActivityHandler());
//							}
//						}.start();
//						if (enoughMinus.getDetail() != null && enoughMinus.getDetail().size() > 0)
//						{
//							if (enoughMinus.getDetail().size() > 1)
//							{
//								Collections.sort(enoughMinus.getDetail(), new Comparator<ActivityDetailInfo>()
//								{
//
//									@Override
//									public int compare(ActivityDetailInfo lhs, ActivityDetailInfo rhs) {
//										return lhs.getFill() > rhs.getFill() ? 1 : -1;
//									}
//
//								});
//							}
//						}
//					}
//				}
//			}
//			setTvDistributionMoney();
//			setTvMinus();
//			setBtn();
//		}
//	}
//
//	private class ComfirmHandler
//	        extends
//	        ObjectHttpResponseHandler<OrderTakeoutPayBean>
//	{
//		@Override
//		public Type getType() {
//			return new TypeToken<OrderTakeoutPayBean>()
//			{
//			}.getType();
//		}
//
//		@Override
//		public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {
//			Util.showToast(context, "订单提交失败");
//		}
//
//		@Override
//		public void onSuccess(int arg0, Header[] arg1, final OrderTakeoutPayBean bean, String arg3) {
//			Log.i(arg3);
//			handler.post(new Runnable()
//			{
//				@Override
//				public void run() {
//					OrderTakeoutDao.getInstance(context).deleteOrderTakeoutByAccount(Const.phone_number);
//					OrderTakeoutActivity.selectFoodListBeans.clear();
//					if (payType == 2)
//					{
//						//餐到付款
//						Intent inten = new Intent(context, OrderMenuPayFinishActivity.class);
//						inten.putExtra(DefaultConsts.FROM_TYPE, 1);
//						startActivity(inten);
//						SysApplication.getInstance().finish();
//					}
//					else
//					{
//						//在线付款
//						Intent intent = new Intent(context, OrderMenuPayMethodActivity.class);
//						intent.putExtra(DefaultConsts.FROM_TYPE, 0);
//						intent.putExtra("foodList", (Serializable) foodList);
//						intent.putExtra("payBean", bean);
//						startActivity(intent);
//					}
//				}
//			});
//
//		}
//	}
//
//	/**
//	 * 判断是否可以提交
//	 *
//	 * @return
//	 */
//	private void setBtn() {
//		if (discount + minus != 0)
//		{
//			tvTotalMinus.setText("优惠：¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(discount + minus, 100)));
//			llTotalMinus.setVisibility(View.VISIBLE);
//		}
//		else
//		{
//			llTotalMinus.setVisibility(View.INVISIBLE);
//		}
//		if (addressInfo != null && foodList.size() > 0)
//		{
//			btnSure.setBackgroundResource(R.drawable.button_make_order);
//			btnSure.setClickable(true);
//			tvTotalMoney.setText("¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(totalMoney + fee - discount - minus, 100)));
//		}
//		else
//		{
//			btnSure.setBackgroundResource(R.drawable.buttonbg_gray);
//			btnSure.setClickable(false);
//		}
//	}
//
//	@Override
//	public Handler getUIHandler() {
//		return handler;
//	}
//
//	private class MyAdapter
//	        extends
//	        BaseAdapter
//	{
//
//		@Override
//		public int getCount() {
//			// TODO Auto-generated method stub
//			return foodList.size();
//		}
//
//		@Override
//		public Object getItem(int position) {
//			// TODO Auto-generated method stub
//			return null;
//		}
//
//		@Override
//		public long getItemId(int position) {
//			// TODO Auto-generated method stub
//			return 0;
//		}
//
//		@Override
//		public View getView(int position, View convertView, ViewGroup parent) {
//			ViewHolder holder = null;
//			if (convertView == null)
//			{
//				holder = new ViewHolder();
//				convertView = View.inflate(context, R.layout.om_confirm_order_list_item, null);
//				holder.tvOrderName = (TextView) convertView.findViewById(R.id.tv_om_confirm_order_list_item_name);
//				holder.tvOrderNumber = (TextView) convertView.findViewById(R.id.tv_om_confirm_order_list_item_number);
//				holder.tvOrderMoney = (TextView) convertView.findViewById(R.id.tv_om_confirm_order_list_item_money);
//				convertView.setTag(holder);
//			}
//			else
//			{
//				holder = (ViewHolder) convertView.getTag();
//			}
//			holder.tvOrderName.setText(foodList.get(position).getFoodName());
//			int orderNumber = foodList.get(position).getBuyNum();
//			holder.tvOrderNumber.setText("×" + orderNumber);
//			if (foodList.get(position).getHasActivity().equals("y"))
//			{
//				holder.tvOrderMoney.setText("¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(foodList.get(position).getActivityPrice() * orderNumber, 100)));
//			}
//			else
//			{
//				holder.tvOrderMoney.setText("¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(foodList.get(position).getPrice() * orderNumber, 100)));
//			}
//			return convertView;
//		}
//
//	}
//
//	private class ViewHolder
//	{
//		private TextView tvOrderName;
//		private TextView tvOrderNumber;
//		private TextView tvOrderMoney;
//	}
//
//	@SuppressWarnings ("unchecked")
//	@Override
//	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//		if (data == null) return;
//		if (requestCode == 1000 && resultCode == 2000)
//		{
//			tips = data.getStringExtra("tips");
//			tvTips.setText(tips);
//		}
//		if (requestCode == 1001 && resultCode == 2001)
//		{
//			posi = data.getIntExtra("position", 10000);
//			discount = data.getLongExtra("discount", 0);
//			listSelected = data.getStringArrayListExtra("selected");
//			selectedCoupons = (List<CouponInfo>) data.getSerializableExtra("coupons");
//			if (discount != 0)
//			{
//				tvCoupon.setVisibility(View.GONE);
//				llDiscount.setVisibility(View.VISIBLE);
//				tvDiscount.setText(Utils.getOneMoneyFormat(MoneyUtil.divide(discount, 100)));
//			}
//			else
//			{
//				tvCoupon.setVisibility(View.VISIBLE);
//				llDiscount.setVisibility(View.GONE);
//			}
//			setTvMinus();
//			setBtn();
//		}
//		super.onActivityResult(requestCode, resultCode, data);
//	}
//
//	private void setTvMinus() {
//		minus = 0;
//		if (enoughMinus != null)
//		{
//			for (int i = 0; i < enoughMinus.getDetail().size(); i++)
//			{
//				if (enoughMinus.getDetail().get(i).getFill() <= totalMoney - discount) minus = enoughMinus.getDetail().get(i).getSubtract();
//			}
//		}
//		if (minus != 0)
//		{
//			tvMinus.setText("-¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(minus, 100)));
//			minusDivider.setVisibility(View.VISIBLE);
//			llMinus.setVisibility(View.VISIBLE);
//		}
//		else
//		{
//			minusDivider.setVisibility(View.GONE);
//			llMinus.setVisibility(View.GONE);
//		}
//	}
//
//	private void setTvDistributionMoney() {
//		if (enoughMinus != null)
//		{
//			if (enoughMinus.getFreeDelivery().equals("y"))
//			{
//				fee = 0;
//				tvDistributionMoney.setText("免配送费");
//			}
//			else
//			{
//				if (fee == 0)
//				{
//					tvDistributionMoney.setText("免配送费");
//				}
//				else
//				{
//					tvDistributionMoney.setText("¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(fee, 100)));
//				}
//			}
//		}
//		else
//		{
//			if (fee == 0)
//			{
//				tvDistributionMoney.setText("免配送费");
//			}
//			else
//			{
//				tvDistributionMoney.setText("¥" + Utils.getOneMoneyFormat(MoneyUtil.divide(fee, 100)));
//			}
//		}
//	}
//
//}
